As presently exists, physical servers provide a myriad of services and most have an installed backup agent interacting with a remote backup server to provide restoration services in the event of server failure. However, just as servers have a diversity of services, they also have a diversity of configuration, such as in their operating system, hardware device drivers, storage interfaces, file systems, applications, etc. Since backup agents are tightly correlated to these configurations, there are multiple varieties of backup agents. In that each is essentially configured to match the server's configuration, they do not transfer well to other servers having vastly different operating systems, storage interfaces, file systems, applications, etc.
With the advent of virtual computing devices, many virtual servers can be guested on a single hardware platform, including each with its own operating system, drivers, interfaces, applications, etc. Carrying forward the model of having an installed backup agent per each server results in the diagrammatic configuration 10 of FIG. 1. Namely, a single hardware platform 20 can host a variety of virtual machines 30-1, 30-2, 30-3, each with their own operating systems (OS1, OS2, OS3), dedicated applications (app 1 and app 2), file systems, etc. To effectively provide backup and restoration via common storage 40, each virtual machine 30 has its own backup agent 50-1, 50-2, 50-3 uniquely configured to match the operating system, files, applications, etc., of the virtual machine in which it is installed. While this configuration provides the backup agents 50 with convenient file system or file level access, it adds costly overhead in the form of needing multiple uniquely configured backup agents per their own guest operating system, guest file system, etc. It also adds overhead in coordinating/managing all the backup agents in a single, physical computing device, especially when they all may be vastly different from one another.
Accordingly, a need exists in the art of computing backup for less costly overhead. The need further contemplates a system that can provide commonality to ease coordination and management activities in a single computing device having pluralities of virtual machines. Naturally, any improvements along such lines should further contemplate good engineering practices, such as ease of implementation, unobtrusiveness, stability, etc.